package com.wdz.category.mapper;

import com.wdz.article.entity.Article;
import com.wdz.cache.RedisCache;
import com.wdz.category.entity.Category;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.wdz.category.entity.CategoryOTM;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 分类表 Mapper 接口
 * </p>
 *
 * @author 吴传逞
 * @since 2020-12-14
 */
@Mapper
@CacheNamespace(implementation= RedisCache.class,eviction=RedisCache.class)
public interface CategoryMapper extends BaseMapper<Category> {
    /**
     * 一对多查询3层分类
     * @return
     */
    List<CategoryOTM> seleteCategorysByOTM();
    /**
     * 根据一级分类id查询下面的文章列表
     */
    List<Article> selectArticleBOLC(@Param("id")String id, @Param("pageNo")int pageNo, @Param("pageSize")int pageSize);
    /**
     * 根据一级分类id查询下面的文章的数量
     */
    int selectArticleCountBOLC(@Param("id")String id);

    /**
     * 在一级分类下面模糊查询文章
     */
    List<Article> selectArticleBOLCLT(@Param("id")String id,@Param("title")String title, @Param("pageNo")int pageNo, @Param("pageSize")int pageSize);
    /**
     * 在一级分类下面模糊查询文章的数量
     */
    int selectArticleCountBOLCLT(@Param("id")String id,@Param("title")String title);

}
